/*
  从大到小排序
  题目描述
    在可多学校举办的年度运动会上，学生们积极参与了各项体育竞赛，百米赛跑吸引了众多学生的参与，
    给出n个学生的百米成绩x，x是实数（小数），请你对可多学校的百米赛跑成绩进行从大到小排序。
  输入描述
    2行，
    第一行为一个整数 n，表示参赛人数；
    第二行 n 个实数（小数），表示每位参赛者的比赛成绩，每个数据之间用一个空格隔开。
  输出描述
    一行，n 个从大到小排序完成的成绩，每个数据之间使用一个空格隔开。
  样例1
    输入
      5
      6.5 1.3 3.5 1.7 5.3
    输出
      6.5 5.3 3.5 1.7 1.3
  提示
   【数据范围】
      0 < n <= 100
*/

#include <iostream>
#include <algorithm>

using namespace std;

// 制定规则函数：按从大到小排序
bool cmp(double a, double b) {
    return a > b;
}

int main()
{
    double a[105] = {};
    int n;

    cin >> n;
    for (int i = 0; i <= n - 1; i++) {
        cin >> a[i];
    }

    // 使用 sort 函数排序法, 对数组 a[0] ~ a[n-1] 按从大到小的顺序对进行排序
    sort(a + 0, a + n, cmp);

    for (int i = 0; i <= n - 1; i++) {
        cout << a[i] << " ";
    }

    return 0;
}